package db_operations;

import java.sql.SQLException;

import Beans.Azienda;
import Beans.Partner;

public interface GestionePartner {
	
//AGGIORNAMENTI
	
	/**
	 * inserisce un partner nel DB
	 * @param Partner: il Partner da inserire
	 * @throws SQLException
	 */
	public void aggiungiPartner(Partner p) throws SQLException;
	
	
	/**
	 * modifica un Partner
	 * @param Partner p
	 * @throws SQLException
	 */
	public void modificaPartner(Partner p) throws SQLException;
	
	
	/**
	 * elimina un Partner dal DB
	 * NOTA BENE: eliminazione logica: spostamento dell'entry nella tabella "deleted"
	 * @param Partner p
	 * @throws SQLException
	 */
	public void eliminaPartner(Partner p) throws SQLException;
	
	
	/**
	 * restituisce il partner con quell'id
	 * @param int id
	 * @return Partner
	 * @throws SQLException
	 */
	public Partner getPartner(int id) throws SQLException;

	
	/**
	 * restituisce la lista dei partner
	 * @return Partner[]
	 * @throws SQLException
	 */
	public Partner[] getListaPartner() throws SQLException;
	
	
	/**
	 * restituisce il partner cancellato con quell'id
	 * @param int id
	 * @return Partner
	 * @throws SQLException
	 */
	public Partner getPartnerDeleted(int id) throws SQLException;

	
	/**
	 * restituisce la lista dei partner cancellati
	 * @return Partner[]
	 * @throws SQLException
	 */
	public Partner[] getListaPartnerDeleted() throws SQLException;
	
	
	/**
	 * restituisce il partner con quel tipo
	 * @param String tipo
	 * @return Partner
	 * @throws SQLException
	 */
	public Partner getPartner(String tipo) throws SQLException;
	
}
